Reflection Loci: Cardioid, Nephroid and Double Bow

Click on the arrows to see the stages in the construction

A = Point(a)
B = Point(a)
c = Circle(A, B)
C = Point(c)
b = Tangent(C, c)
d = Segment(A, C)
B' = Mirror(B, b)
e = Segment(B, B')
loc1 = Locus(B', C)
f = OrthogonalLine(C, a)
D = Intersect(a, f)
g = Segment(C, D)
D' = Mirror(D, b)
h = Segment(D, D')
loc2 = Locus(D', C)
B'' = Mirror(B', g)
i = Segment(B', B'')
loc4 = Locus(B'', C)